home *** CD-ROM | disk | FTP | other *** search
/ Champak 26 (Anniversary Edition) / Volume 26 [Anniversary Edition] - JOGO DISK .iso / DEPOSITO / REmovido / Esportes / FlashGOL.swf / scripts / frame_11 / DoAction.as
Text File  |  2006-06-13  |  2KB  |  61 lines

  1. MovieClip.prototype.FNShape = function(objeto, a, b, c)
  2. {
  3.    if(eval(objeto) == null)
  4.    {
  5.       subi != null ? subi++ : (subi = 500);
  6.       attachMovie("triangulo",objeto,subi);
  7.    }
  8.    x1 = eval("p" + a)._x;
  9.    y1 = eval("p" + a)._y;
  10.    x2 = eval("p" + b)._x;
  11.    y2 = eval("p" + b)._y;
  12.    x3 = eval("p" + c)._x;
  13.    y3 = eval("p" + c)._y;
  14.    var abx = x1 - x2;
  15.    var aby = y1 - y2;
  16.    var cax = x3 - x1;
  17.    var cay = y3 - y1;
  18.    var bcx = x2 - x3;
  19.    var bcy = y2 - y3;
  20.    var dir = cax * bcy - cay * bcx >= 0 ? -1 : 1;
  21.    var ab = abx * abx + aby * aby;
  22.    var ca = cax * cax + cay * cay;
  23.    var bc = bcx * bcx + bcy * bcy;
  24.    var prod = ab * bc * ca;
  25.    var sum = ab + bc + ca;
  26.    var mx = ca >= ab ? (bc >= ca ? bc : ca) : (bc >= ab ? bc : ab);
  27.    var hh = prod / mx / mx - sum * sum / 4 / mx - mx + sum;
  28.    with(eval(objeto))
  29.    {
  30.       if(mx == ab)
  31.       {
  32.          var pp = 1.73205081 / Math.sqrt(1 + 2 * Math.sqrt((bc - hh) / (ca - hh)));
  33.          _rotation = Math.atan2(- aby,- abx) * 180 / 3.141592653589793;
  34.          base.type._rotation = 0;
  35.          _x = x2;
  36.          _y = y2;
  37.       }
  38.       else if(mx == bc)
  39.       {
  40.          var pp = 1.73205081 / Math.sqrt(1 + 2 * Math.sqrt((ca - hh) / (ab - hh)));
  41.          _rotation = Math.atan2(- bcy,- bcx) * 180 / 3.141592653589793;
  42.          base.type._rotation = 240;
  43.          _x = x3;
  44.          _y = y3;
  45.       }
  46.       else
  47.       {
  48.          var pp = 1.73205081 / Math.sqrt(1 + 2 * Math.sqrt((ab - hh) / (bc - hh)));
  49.          _rotation = Math.atan2(- cay,- cax) * 180 / 3.141592653589793;
  50.          base.type._rotation = 120;
  51.          _x = x1;
  52.          _y = y1;
  53.       }
  54.       var rr = Math.sqrt(pp * pp + 3) / 2;
  55.       base._xscale = 100 * pp;
  56.       base._rotation = Math.atan(1.73205081 / pp) * 180 / 3.141592653589793;
  57.       _xscale = Math.sqrt(mx) / rr;
  58.       _yscale = 1.15470054 * Math.sqrt(hh) * rr / pp * dir;
  59.    }
  60. };
  61.